This application is particularly concerned with the transmission of messages between computers, each computer having a link interface which receives messages from its associated computer and encodes these for transmission to a link interface associated with a remote computer. One known format for provision of the messages by the computer is a so-called data/strobe format (DS format) where two wires are provided, one for data and one for strobe signals. This message format is described in the European Application No. 91304711.4.
Each message comprises a plurality of packets. Each packet comprises a header or address portion, a data portion (normally but not always) and a terminator as an end of packet indicator. Where the packet is the last packet in a message, the end of packet indicator is replaced by an end of message indicator as the terminator. The data portion can be made up of data tokens. Data tokens each comprise a flag bit, a parity bit and eight bits representing data to be transmitted (herein data bits). A terminator token comprises a flag bit, a parity bit and two control bits identifying the type of terminator token. In each case the flag bit identifies whether the token is a data token or a terminator token.
Existing coding schemes for encoding messages of this type can have the effect that a single bit error in data received by the remote computer from the transmitting computer can generate a multiple bit error when decoded. In order to avoid this, existing decoding schemes use cyclic redundancy checks (CRCs) which involve the transmission of a set of checking bits for each transmitted packet transmitted at the end of the packet. For long packets, this can be relatively efficient, for example four bytes of checking data for a packet having a length of four kilobytes. However, for small packets this is much less efficient and could in some circumstances double the length of a packet. The present invention is concerned particularly with the transmission of short packets.